package com.example.demo.aspect;

import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.*;
import org.springframework.stereotype.Component;

@Slf4j
//@Aspect
@Component
public class AspectDemo {
    // 定义切点(公共的切点表达式)
//    @Pointcut("execution(* com.example.demo.controller.*.*(..))")
//    public void pt(){}

    // 前置通知
   // @Before("pt()")
    public void doBefore() {
        log.info("AspectDemo doBefore...");
    }





    // 后置通知
   // @After("pt()")
    public void doAfter() {
        log.info("AspectDemo doAfter...");
    }
//
//    // 返回后通知
//    @AfterReturning("pt()")
//    public void doAfterReturn(JoinPoint joinPoint) {
//
//        log.info("AspectDemo doAfterReturn...");
//    }
//
//    // 抛出异常后通知
//    @AfterThrowing("pt()")
//    public void doAfterThrowing() {
//        log.info("AspectDemo doAfterThrowing...");
//    }
}
